<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Spring Boot 自定义启动 Banner 指南</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
        }
        .serif-font {
            font-family: 'Noto Serif SC', serif;
        }
        .gradient-text {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
        }
        .code-block {
            background: #1e1e1e;
            color: #d4d4d4;
            border-radius: 12px;
            overflow-x: auto;
        }
        .step-number {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            flex-shrink: 0;
        }
        .ascii-art {
            font-family: 'Courier New', monospace;
            background: #f8f9fa;
            border: 2px dashed #e9ecef;
            border-radius: 8px;
            padding: 20px;
            overflow-x: auto;
        }
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        .animate-fadeInUp {
            animation: fadeInUp 0.8s ease-out;
        }
        .drop-cap {
            float: left;
            font-size: 4rem;
            line-height: 1;
            font-weight: 700;
            margin-right: 0.5rem;
            margin-top: -0.2rem;
            color: #667eea;
        }
    </style>
</head>
<body class="bg-gray-50">
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-6">
        <div class="max-w-6xl mx-auto animate-fadeInUp">
            <div class="text-center">
                <h1 class="text-5xl md:text-6xl font-bold mb-6 serif-font">
                    Spring Boot 自定义启动 Banner
                </h1>
                <p class="text-xl md:text-2xl opacity-90 max-w-3xl mx-auto leading-relaxed">
                    让您的应用程序在启动时展现独特个性，通过简单的配置打造专属的启动标识
                </p>
                <div class="mt-10 flex justify-center space-x-4">
                    <div class="bg-white bg-opacity-20 rounded-full px-6 py-3 flex items-center space-x-2">
                        <i class="fas fa-rocket"></i>
                        <span>快速上手</span>
                    </div>
                    <div class="bg-white bg-opacity-20 rounded-full px-6 py-3 flex items-center space-x-2">
                        <i class="fas fa-paint-brush"></i>
                        <span>自定义设计</span>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- Main Content -->
    <main class="max-w-6xl mx-auto px-6 py-16">
        <!-- Introduction -->
        <section class="mb-16 animate-fadeInUp">
            <div class="bg-white rounded-2xl shadow-lg p-8 md:p-12 card-hover">
                <p class="text-lg leading-relaxed text-gray-700">
                    <span class="drop-cap serif-font">S</span>pring Boot 允许您自定义应用程序的 Banner（启动时的 Logo）。默认情况下，Spring Boot 会在启动时显示其标准 Logo，但您可以通过在资源目录下添加 banner.txt 文件来自定义 Logo。这不仅能让您的应用程序更具个性化，还能在团队开发中增加品牌识别度。
                </p>
            </div>
        </section>

        <!-- Process Visualization -->
        <section class="mb-16">
            <h2 class="text-3xl font-bold mb-8 text-center gradient-text">自定义流程图解</h2>
            <div class="bg-white rounded-2xl shadow-lg p-8">
                <div class="mermaid">
                    graph LR
                        A[开始] --> B[创建 banner.txt]
                        B --> C[设计 ASCII 艺术字]
                        C --> D[放置到 resources 目录]
                        D --> E[启动应用程序]
                        E --> F[显示自定义 Banner]
                        
                        style A fill:#667eea,stroke:#fff,stroke-width:2px,color:#fff
                        style F fill:#764ba2,stroke:#fff,stroke-width:2px,color:#fff
                        style B fill:#f3f4f6,stroke:#667eea,stroke-width:2px
                        style C fill:#f3f4f6,stroke:#667eea,stroke-width:2px
                        style D fill:#f3f4f6,stroke:#667eea,stroke-width:2px
                        style E fill:#f3f4f6,stroke:#667eea,stroke-width:2px
                </div>
            </div>
        </section>

        <!-- Steps Section -->
        <section class="mb-16">
            <h2 class="text-3xl font-bold mb-8 text-center gradient-text">实施步骤</h2>
            <div class="space-y-6">
                <!-- Step 1 -->
                <div class="bg-white rounded-xl shadow-md p-6 card-hover">
                    <div class="flex items-start space-x-4">
                        <div class="step-number">1</div>
                        <div class="flex-1">
                            <h3 class="text-xl font-semibold mb-2">创建 Banner 文件</h3>
                            <p class="text-gray-700">创建一个新的文本文件并命名为 <code class="bg-purple-100 text-purple-800 px-2 py-1 rounded">banner.txt</code>。这个文件将包含您的自定义启动标识。</p>
                        </div>
                    </div>
                </div>

                <!-- Step 2 -->
                <div class="bg-white rounded-xl shadow-md p-6 card-hover">
                    <div class="flex items-start space-x-4">
                        <div class="step-number">2</div>
                        <div class="flex-1">
                            <h3 class="text-xl font-semibold mb-2">设计您的 Logo</h3>
                            <p class="text-gray-700">在 <code class="bg-purple-100 text-purple-800 px-2 py-1 rounded">banner.txt</code> 中输入您想要显示的自定义 Logo 文字或图案。您可以使用普通文本或 ASCII 字符创建独特的艺术效果。</p>
                        </div>
                    </div>
                </div>

                <!-- Step 3 -->
                <div class="bg-white rounded-xl shadow-md p-6 card-hover">
                    <div class="flex items-start space-x-4">
                        <div class="step-number">3</div>
                        <div class="flex-1">
                            <h3 class="text-xl font-semibold mb-2">放置文件到正确位置</h3>
                            <p class="text-gray-700">将 <code class="bg-purple-100 text-purple-800 px-2 py-1 rounded">banner.txt</code> 文件放置在项目的 <code class="bg-purple-100 text-purple-800 px-2 py-1 rounded">src/main/resources</code> 目录下。Spring Boot 会自动检测并使用这个文件。</p>
                        </div>
                    </div>
                </div>
            </div>
        </section>

        <!-- Example Section -->
        <section class="mb-16">
            <h2 class="text-3xl font-bold mb-8 text-center gradient-text">示例展示</h2>
            <div class="bg-white rounded-2xl shadow-lg p-8">
                <h3 class="text-xl font-semibold mb-4 flex items-center">
                    <i class="fas fa-code text-purple-600 mr-3"></i>
                    banner.txt 内容示例
                </h3>
                <pre class="ascii-art text-sm md:text-base"> _______  _______  __   __  _______    _______ 
|       ||       ||  |_|  ||       |  |       |
|    ___||   _   ||       ||    ___|  |_     _|
|   | __ |  | |  ||       ||   |___     |   |  
|   ||  ||  |_|  ||       ||    ___|    |   |  
|   |_| ||       | |     | |   |___     |   |  
|_______||_______|  |___|  |_______|   |___|</pre>
            </div>
        </section>

        <!-- Tips Section -->
        <section class="mb-16">
            <h2 class="text-3xl font-bold mb-8 text-center gradient-text">专业建议</h2>
            <div class="grid md:grid-cols-3 gap-6">
                <div class="bg-gradient-to-br from-purple-50 to-pink-50 rounded-xl p-6 card-hover">
                    <div class="text-purple-600 text-3xl mb-4">
                        <i class="fas fa-lightbulb"></i>
                    </div>
                    <h3 class="font-semibold text-lg mb-2">创意设计</h3>
                    <p class="text-gray-700">使用在线 ASCII 艺术生成器可以快速创建专业的文字艺术效果，让您的 Banner 更加引人注目。</p>
                </div>
                <div class="bg-gradient-to-br from-blue-50 to-cyan-50 rounded-xl p-6 card-hover">
                    <div class="text-blue-600 text-3xl mb-4">
                        <i class="fas fa-palette"></i>
                    </div>
                    <h3 class="font-semibold text-lg mb-2">颜色支持</h3>
                    <p class="text-gray-700">Spring Boot 支持 ANSI 颜色代码，您可以为 Banner 添加颜色，使其在控制台中更加生动。</p>
                </div>
                <div class="bg-gradient-to-br from-green-50 to-emerald-50 rounded-xl p-6 card-hover">
                    <div class="text-green-600 text-3xl mb-4">
                        <i class="fas fa-cog"></i>
                    </div>
                    <h3 class="font-semibold text-lg mb-2">动态内容</h3>
                    <p class="text-gray-700">可以在 Banner 中使用占位符显示应用版本、Spring Boot 版本等动态信息。</p>
                </div>
            </div>
        </section>

        <!-- Source Code Reference -->
        <section class="mb-16">
            <div class="bg-gradient-to-r from-gray-900 to-gray-800 rounded-2xl shadow-xl p-8 text-white">
                <h3 class="text-2xl font-bold mb-4 flex items-center">
                    <i class="fas fa-file-code mr-3"></i>
                    源码参考
                </h3>
                <p class="text-gray-300 mb-4">Spring Boot 的 Banner 打印逻辑位于：</p>
                <code class="bg-gray-700 px-4 py-2 rounded inline-block text-yellow-300">SpringApplicationBannerPrinter.java</code>
                <p class="text-gray-400 mt-4 text-sm">了解源码实现可以帮助您更好地理解 Banner 的工作原理和高级配置选项。</p>
            </div>
        </section>

        <!-- Call to Action -->
        <section class="text-center">
            <div class="bg-gradient-to-r from-purple-600 to-pink-600 rounded-2xl shadow-xl p-12 text-white">
                <h2 class="text-3xl font-bold mb-4">立即开始个性化您的应用</h2>
                <p class="text-xl mb-8 opacity-90">现在，当您启动 Spring Boot 应用程序时，将显示自定义的 Logo 而不是默认的 Logo。您可以根据自己的喜好来创建独特的 Logo，以显示在应用程序启动时。</p>
                <div class="flex justify-center space-x-4">
                    <button class="bg-white text-purple-600 px-8 py-3 rounded-full font-semibold hover:bg-gray-100 transition-colors">
                        <i class="fas fa-rocket mr-2"></i>开始实践
                    </button>
                    <button class="border-2 border-white text-white px-8 py-3 rounded-full font-semibold hover:bg-white hover:text-purple-600 transition-all